You are here: Routing Rules > Continue
Syntax samples
CONT 1
Leaves an entity at the current location for further processing. ProModel searches the process list forward and then from the beginning until a process is found for the output entity at the current location. If the entity name remains the same and no additional processes for that entity type are defined at the location, the original process will repeat continuously unless a condition bypasses the routing block with the CONTINUE rule.
The CONTINUE routing rule also allows dynamic priority changes. This means a low priority entity that enters a location can be dynamically upgraded to a higher priority without leaving the location. Move Logic for the routing block with the CONTINUE rule will not be executed.
Neither a time value nor a movement rescue is allowed in the Move Logic column for a route block containing a CONTINUE rule. This rule is one way to route an entity from a single capacity location to the same location without causing a deadlock. The CONTINUE rule can also simulate an unlimited supply of a raw material at a location.
Statistics for a location using the CONTINUE rule are collected as one entry for the entity.
The rule field of the Routing edit table only. A CONTINUE rule must be the only routing in a routing block and must always take a quantity of one.
Example
This example simulates an unlimited supply of ore at a location. After the Extract location extracts the Iron from the Ore, two routing blocks execute. The first routing block routes the Iron just extracted on to a molding location. The second routing block routes another unit of ore back to the location, where the process begins again.
Process Table
Entity |
Location |
Operation (min) |
---|---|---|
Ore |
Extract |
WAIT 100 |
Iron |
Mold |
... |
Routing Table
Blk |
Output |
Destination |
Rule |
Move Logic |
---|---|---|---|---|
1* |
Iron |
Mold |
FIRST 1 |
MOVE FOR 10 |
2 |
Ore |
Extract |
CONT 1 |
|
... |
... |
... |
... |
... |
See the next example for an illustration of dynamic priority changing.
Example
Dynamic Priority Changing Suppose a gear enters a location. The gear has a low priority. If another type of gear enters the system with a higher priority, the second gear may preempt the first gear. Another worker in the plant needs the first gear immediately or else he will miss his deadline. Now the first gear’s priority is higher than the second gear. Using the CONTINUE routing rule allows you to change the priority of the first gear. An entity that enters a location with a priority 99 can increase its priority to 999 without ever leaving that location. In addition, this functionality will also allow you to specifically control which entities in a multi-capacity location will be preempted by another incoming high priority entity.
Process Table
Entity |
Location |
Operation (min) |
---|---|---|
Gear |
Loc1 |
WAIT 2 |
Gear |
Loc2 |
WAIT 3 IF CLOCK() > 1 THEN BEGIN var = 999 ROUTE 2 END ELSE ROUTE 1 |
Gear |
Loc2 |
|
Routing Table
Blk |
Output |
Destination |
Rule |
Move Logic |
---|---|---|---|---|
1 |
Gear |
Loc2, 99 |
FIRST 1 |
MOVE FOR 1 |
1 |
Gear |
Loc3 |
FIRST 1 |
MOVE FOR 1 |
2 |
Gear |
Loc2, var |
CONT 1 |
|
1 |
Gear |
Loc3 |
FIRST 1 |
MOVE FOR 1 |